package com.pimee.service.admin;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.pimee.model.SysMenu;
import com.pimee.model.SysUser;
import com.pimee.model.vo.SysMenuVo;
import com.pimee.model.web.Ztree;
import com.pimee.service.IBaseService;

public interface ISysMenuService extends IBaseService<SysMenu> {

	/**
	 * 获取用户菜单
	 * 
	 * @param user
	 * @return
	 */
	List<SysMenuVo> selectMenusByUser(SysUser user);

	/**
	 * 获取用户权限
	 * 
	 * @param userId
	 * @return
	 */
	Set<String> selectPermsByUserId(Long userId);

	/**
	 * 查询用户采用集合
	 * 
	 * @param menu
	 * @param userId
	 * @return
	 */
	List<SysMenuVo> listMenu(Map<String, Object> params);

	/**
	 * 新增菜单
	 * 
	 * @param menu
	 * @return
	 */
	Object insertMenu(SysMenu menu);

	/**
	 * 删除菜单
	 * 
	 * @param menuId
	 * @return
	 */
	Object deleteMenuById(Long menuId);

	/**
	 * 更新订单信息
	 * 
	 * @param menu
	 */
	void updateMenu(SysMenu menu);

	/**
	 * 获取用户相关菜单
	 * 
	 * @param userId
	 * @return
	 */
	List<Ztree> menuTreeData(Long userId);

	/**
	 * 获取角色菜单树
	 * 
	 * @param roleId
	 * @return
	 */
	List<Ztree> roleMenuTreeData(Long userId, Long roleId);

}
